import type { Profile } from '@/types/user'
import { getLocalToken, removeLocalToken, setLocalToken } from '@/utils/auth'
import { defineStore } from 'pinia'
import { ref } from 'vue'

export const useUserStore = defineStore('hm-user', () => {
  // token 信息
  const token = ref(getLocalToken() || '')

  // 登录成功，保存token
  const setToken = (val: string) => {
    token.value = val
    setLocalToken(val)
  } 
  
  // 退出登录，删除token
  const clearToken = () => {
    token.value = ''
    removeLocalToken()
  }

  // 用户信息
  const profile = ref<Profile>({} as Profile)
  // 设置用户信息 
  const setProfile = (val: Profile) => {
    profile.value = val
  }
  // 清空用户信息
  const clearProfile = () => {
    profile.value = {} as Profile
  }
  
  // 记得返回
  return {
    profile,
    setProfile,
    clearProfile,
    token,
    setToken,
    clearToken
  }
})
